﻿//============================================================
//write by bxl at 2021-06-13 21:18:31
//============================================================

using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel.DataAnnotations;

namespace BCDto.CRM.BigCustomerTradeAnalysis
{
    /// <summary>
    /// 大客户交易分析 数据模型
    /// </summary>
    public class BigCustomerTradeAnalysisRequestDto
    { 

        /// <summary>
        /// 大客户Id
        /// </summary>            
        [Display(Name = "大客户Id")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public long BigCustomerId { get; set; }

        /// <summary>
        /// 公司Id
        /// </summary>            
        [Display(Name = "公司Id")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int CompanyId { get; set; }

        /// <summary>
        /// 用户Id
        /// </summary>            
        [Display(Name = "用户Id")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public long? UserId { get; set; }

        /// <summary>
        /// 交易总次数
        /// </summary>            
        [Display(Name = "交易总次数")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int TradeTimes { get; set; }

        /// <summary>
        /// 交易总金额
        /// </summary>            
        [Display(Name = "交易总金额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal TradeAmount { get; set; }

        /// <summary>
        /// 今年交易总次数
        /// </summary>            
        [Display(Name = "今年交易总次数")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int YearTradeTimes { get; set; }

        /// <summary>
        /// 今年交易总金额
        /// </summary>            
        [Display(Name = "今年交易总金额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal YearTradeAmount { get; set; }

        /// <summary>
        /// 最近一次交易时间
        /// </summary>            
        [Display(Name = "最近一次交易时间")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public DateTime? LatestTradeTime { get; set; }

        /// <summary>
        /// 最近一次交易金额
        /// </summary>            
        [Display(Name = "最近一次交易金额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal LatestTradeAmount { get; set; }

        /// <summary>
        /// 平均交易周期(天)
        /// </summary>            
        [Display(Name = "平均交易周期(天)")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int AverageTradeCycle { get; set; }

        /// <summary>
        /// 平均交易金额(元)
        /// </summary>            
        [Display(Name = "平均交易金额(元)")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal AverageTradeAmount { get; set; }

        /// <summary>
        /// 投诉总次数
        /// </summary>            
        [Display(Name = "投诉总次数")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int ComplaintTimes { get; set; }

        /// <summary>
        /// 已解决投诉总次数
        /// </summary>            
        [Display(Name = "已解决投诉总次数")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int ClosedComplaintTimes { get; set; }

        /// <summary>
        /// 维修总次数
        /// </summary>            
        [Display(Name = "维修总次数")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int RepairTimes { get; set; }

        /// <summary>
        /// 已完成维修的总次数
        /// </summary>            
        [Display(Name = "已完成维修的总次数")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int CompletedRepairTimes { get; set; }

        /// <summary>
        /// 退货总次数
        /// </summary>            
        [Display(Name = "退货总次数")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int ReturnGoodsTimes { get; set; }

        /// <summary>
        /// 退货总签收次数
        /// </summary>            
        [Display(Name = "退货总签收次数")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int ReturnGoodsSignTimes { get; set; }

        /// <summary>
        /// 退货总金额
        /// </summary>            
        [Display(Name = "退货总金额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal ReturnGoodsAmount { get; set; }

        /// <summary>
        /// 今年投诉总次数
        /// </summary>            
        [Display(Name = "今年投诉总次数")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int YearComplaintTimes { get; set; }

        /// <summary>
        /// 今年已解决投诉总次数
        /// </summary>            
        [Display(Name = "今年已解决投诉总次数")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int YearClosedComplaintTimes { get; set; }

        /// <summary>
        /// 今年维修总次数
        /// </summary>            
        [Display(Name = "今年维修总次数")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int YearRepairTimes { get; set; }

        /// <summary>
        /// 今年已完成维修的总次数
        /// </summary>            
        [Display(Name = "今年已完成维修的总次数")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int YearCompletedRepairTimes { get; set; }

        /// <summary>
        /// 今年退货总次数
        /// </summary>            
        [Display(Name = "今年退货总次数")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int YearReturnGoodsTimes { get; set; }

        /// <summary>
        /// 今年退货总签收次数
        /// </summary>            
        [Display(Name = "今年退货总签收次数")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int YearReturnGoodsSignTimes { get; set; }

        /// <summary>
        /// 今年退货总金额
        /// </summary>            
        [Display(Name = "今年退货总金额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal YearReturnGoodsAmount { get; set; }

        /// <summary>
        /// 今年退款不退货总金额
        /// </summary>            
        [Display(Name = "今年退款不退货总金额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal YearRefundNoReturnGoodsAmount { get; set; }

        /// <summary>
        /// 退款不退货总金额
        /// </summary>            
        [Display(Name = "退款不退货总金额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal RefundNoReturnGoodsAmount { get; set; }
         

    }
}
